/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.ucue.ptc.gco.mdl;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;
import javax.persistence.Temporal;

/**
 *
 * @author Andrea
 */

@Entity
@Table(name="visita")
public class Visita implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int idVisita;
   
    @Temporal(javax.persistence.TemporalType.DATE)
    @Column
    private Date fechaVisita;
    
    @Column
    private String detalleVisita;
    
    @Column
    private double longitud;
    
    @Column
    private double latitud;
    
     @ManyToOne(optional = false)
    @JoinColumn(name="idEmpleado", referencedColumnName = "idPersona")
    private Empleado empleado;

    
    @OneToOne
    @PrimaryKeyJoinColumn(name="idPedido", referencedColumnName = "idPedido")
    private Pedido pedido;

    @OneToOne(optional = false)
    @JoinColumn(name="idRuta", referencedColumnName = "idRuta")
    private Ruta ruta;
    
    @ManyToOne
    @JoinColumn(name="idPersona", referencedColumnName = "idPersona")
    private Cliente persona;

    public Cliente getPersona() {
        return persona;
    }

    public void setPersona(Cliente persona) {
        this.persona = persona;
    }

    
    
 
    public Pedido getPedido() {
        return pedido;
    }

    public void setPedido(Pedido pedido) {
        this.pedido = pedido;
    }

    public String getDetalleVisita() {
        return detalleVisita;
    }

    public void setDetalleVisita(String detalleVisita) {
        this.detalleVisita = detalleVisita;
    }
    
    public int getIdVisita() {
        return idVisita;
    }

    public void setIdVisita(int idVisita) {
        this.idVisita = idVisita;
    }


    /**
     * @return the fechaIngreso
     */
    public Date getFechaVisita() {
        return fechaVisita;
    }

    /**
     * @param fechaVisita the fechaIngreso to set
     */
    public void setFechaVisita(Date fechaVisita) {
        this.fechaVisita = fechaVisita;
    }
   
     /**
     * @return the longitud
     */
    public double getLongitud() {
        return longitud;
    }

    /**
     * @param longitud the longitud to set
     */
    public void setLongitud(double longitud) {
        this.longitud = longitud;
    }

    /**
     * @return the latitud
     */
    public double getLatitud() {
        return latitud;
    }

    /**
     * @param latitud the latitud to set
     */
    public void setLatitud(double latitud) {
        this.latitud = latitud;
    }

    public Ruta getRuta() {
        return ruta;
    }

    public void setRuta(Ruta ruta) {
            this.ruta = ruta;
    }

    public Empleado getEmpleado() {
        return empleado;
    }

    public void setEmpleado(Empleado empleado) {
        this.empleado = empleado;
    }


    
}
